package com.yunxin.core.application.dto.channel;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author zero°
 * @since 2023-05-30
 */
@Data
@Schema(description = "分页渠道推广列表对象")
public class ChannelPromotionPageDTO implements Serializable {

    /**
     * id
     */
    @Schema(description = "id")
    private Long id;
    /**
     * 渠道推广名称
     */
    @Schema(description = "渠道推广名称")
    private String promotionName;
    /**
     * 渠道推广code
     */
    @Schema(description = "渠道推广code")
    private String promotionCode;
    /**
     * 渠道id
     */
    @Schema(description = "渠道id")
    private Long channelId;
    /**
     * 渠道名称
     */
    @Schema(description = "渠道名称")
    private String channelName;
    /**
     * 推广方式 1.贷超
     */
    @Schema(description = "推广方式 1.贷超")
    private Integer promotionType;
    /**
     * 推广方式
     */
    @Schema(description = "推广方式")
    private String promotionTypeStr;
    /**
     * 推广状态 1.禁用 2.启用
     */
    @Schema(description = "推广状态 1.禁用 2.启用")
    private Integer promotionStatus;
    /**
     * 推广状态
     */
    @Schema(description = "推广状态")
    private String promotionStatusStr;
    /**
     * 计费单价
     */
    @Schema(description = "计费单价")
    private BigDecimal chargedPrice;
    /**
     * 计费方式 1.uv 2.注册 3.表单
     */
    @Schema(description = "计费方式 1.uv 2.注册 3.表单")
    private Integer chargedWay;
    /**
     * 计费方式str
     */
    @Schema(description = "计费方式str")
    private String chargedWayStr;
    /**
     * 备注信息
     */
    @Schema(description = "备注信息")
    private String remarkInfo;
    /**
     * 页面code
     */
    @Schema(description = "页面code")
    private String pageCode;
    /**
     * 推荐产品弹窗code
     */
    @Schema(description = "推荐产品弹窗code")
    private String popupCode;
    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;


    /**
     * 被禁止的产品id
     */
    private List<Long> productId;

    /**
     * 被禁止的产品名称
     */
    private List<String> productName;

}
